import re


def extract_python_code_from_markdown(markdown_content: str) -> str:
    """
    从 Markdown 内容中提取 Python 代码块

    参数:
        markdown_content: 包含 Markdown 格式的字符串

    返回:
        提取出的 Python 代码字符串
    """
    # 使用正则表达式匹配 ```python 和 ``` 之间的内容
    pattern = r"```python(.*?)```"
    matches = re.findall(pattern, markdown_content, re.DOTALL)

    if matches:
        # 返回第一个匹配到的代码块（去除首尾空白）
        return matches[0].strip()
    else:
        # 如果没有找到匹配项，返回原始内容
        return markdown_content.strip()

def extract_json_from_markdown(markdown_content: str) -> str:
    """
    从 Markdown 内容中提取 JSON 代码块

    参数:
        markdown_content: 包含 Markdown 格式的字符串

    返回:
        提取出的 JSON 字符串
    """
    # 使用正则表达式匹配 ```json 和 ``` 之间的内容
    pattern = r"```json(.*?)```"
    matches = re.findall(pattern, markdown_content, re.DOTALL)

    if matches:
        # 返回第一个匹配到的代码块（去除首尾空白）
        return matches[0].strip()
    else:
        # 如果没有找到匹配项，返回原始内容
        return markdown_content.strip()

def extract_html_from_markdown(markdown_content: str) -> str:
    """
    从 Markdown 内容中提取 HTML 代码块

    参数:
        markdown_content: 包含 Markdown 格式的字符串

    返回:
        提取出的 html 字符串
    """
    # 使用正则表达式匹配 ```json 和 ``` 之间的内容
    pattern = r"```html(.*?)```"
    matches = re.findall(pattern, markdown_content, re.DOTALL)

    if matches:
        # 返回第一个匹配到的代码块（去除首尾空白）
        return matches[0].strip()
    else:
        # 如果没有找到匹配项，返回原始内容
        return markdown_content.strip()